<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<style media="screen" type="text/css">

figure {
  float: right;
  width: 100%;
  text-align: center;
  font-style: italic;
  font-size: smaller;
  text-indent: 0;
  border: thin silver solid;
  margin: 0.5em;
  padding: 0.5em;
}
img.scaled {
  width: 100%;
}
	</style>
   <head>
      <title>MelangeK3FSM Sequential example</title>
   </head>

   <body>
   	 <h2>
         Overview
      </h2>
      <p>
         This example features an executable language using GEMOC Sequential Engine.   
      </p>
      <p>
         It illustrates the GEMOC animation framework on a Finite State Machine language.   
      </p>
      <p>
         The example focuses on the separation of the base language: FSM and the executable sequential language: XSFSM.     
      </p>
      <p>
         The tree editor and graphic editor are defined on top of the FSM language. They are considered as if they were pre-existing (Ie. legacy).     
      </p>
      <p> 
         Then, Melange is used to built the XSFSM executable language by inheriting from FSM. The animation layer is also built as an extensions of the graphical editor. 
      </p>
      <p> 
         This allows to use the model polymorphism. Ie. it is possible to edit FSM models and then run them as XSFSM with the appropriate animation extensions. 
      </p>
      <p>
         More information and the sources of these projects are available on <a href="https://github.com/eclipse/gemoc-studio/tree/master/official_samples/MelangeK3FSM">Github</a>.   
      </p>
   	  <h2>
         Getting started
      </h2>
      
      <p>
      	 Install the projects of this language:<br>
         File &gt; new  &gt; Examples... &gt; GEMOC Legacy FSM Language example (Sequential)
      </p>
      <p>
         Create and start an eclipse runtime:<br>
         Run  &gt;  Run Configurations... &gt; Eclipse application &gt; new
      </p>
      <p>
         Install sample models for the language:<br>
         File &gt; new  &gt; Examples... &gt; GEMOC model example for Legacy FSM  (Sequential)
      </p>
      
		<h2>Language structure overview</h2>
       	<p>The following figure presents :</p>
		<ul>
		<li>the base language <i>fsm</i> content;</li>
		<li>how the aspects extends the base classes;</li>
		<li>how the <i>xsfsm</i> language is built by inheriting from the <i>fsm</i> language and using the aspects.</li>
		</ul>		
       	<figure>
       		<img class=scaled  src="../figures-gen/src/main/plantuml/MelangeK3FSM_language_figure.png">
			<figcaption>Language relations, packages and classes view.</figcaption>
		</figure>
		<p>Please note that for simplification of the diagram, the associations that doesn't represent a containment, have been represented as attribute rather than links.</p>
   </body>
</html>
